﻿using System;
using System.Collections;
using System.Collections.Generic ;
using System.Runtime.Serialization;

namespace UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil
{
	
	/// <summary>
	/// 实体: 应付单表头
	/// 
	/// </summary>
	[Serializable]	
	public  partial class APbilHead : UFSoft.UBF.Business.BusinessEntity
	{





		#region Create Instance
		/// <summary>
		/// Constructor
		/// </summary>
		public APbilHead(){
		}


	
		/// <summary>
		/// Create Instance
		/// </summary>
		/// <returns>Instance</returns>
		public  static APbilHead Create() {
			APbilHead entity = (APbilHead)UFSoft.UBF.Business.Entity.Create(CurrentClassKey, null);
																																																																					 
			return entity;
		}

		/// <summary>
		/// use for Serialization
		/// </summary>
		protected APbilHead(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
			:base(info,context)
		{
		}
		protected override bool IsMainEntity
		{
			get { return true ;}
		}
		#endregion

		#region Create Default 
		/// <summary>
		/// Create Instance
		/// </summary>
		/// <returns>Default Instance</returns>
		public static APbilHead CreateDefault() {
		#if Test		
			return CreateDefault_Extend() ;
		#else 
		    return null;
		#endif
		}
		/// <summary>
		/// Create DefaultComponent
		/// </summary>
		/// <returns>DefaultComponent Instance</returns>
		public static APbilHead CreateDefaultComponent(){
		#if Test		
			return CreateDefaultComponent_Extend() ;
		#else 
		    return null;
		#endif
		}

		#endregion

		#region ClassKey
		protected override string ClassKey_FullName
        {
            get { return "UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilHead"; }    
        }
		//private static UFSoft.UBF.PL.IClassKey _currentClassKey;
		//由于可能每次访问时的Enterprise不一样，所以每次重取.
		private static UFSoft.UBF.PL.IClassKey CurrentClassKey
		{
			get {
				return  UFSoft.UBF.PL.ClassKeyFacatory.CreateKey("UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilHead");
			}
		}
		


		#endregion 

		#region EntityKey
		/// <summary>
		/// Strong Class APbilHead EntityKey 
		/// </summary>
		[Serializable()]
	    [DataContract(Name = "EntityKey", Namespace = "UFSoft.UBF.Business.BusinessEntity")]
		public new partial class EntityKey : UFSoft.UBF.Business.BusinessEntity.EntityKey
		{
			public EntityKey(long id): this(id, "UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilHead")
			{}
			//Construct using by freamwork.
			protected EntityKey(long id , string entityType):base(id,entityType)
			{}
			/// <summary>
			/// 得到当前Key所对应的Entity．(Session级有缓存,性能不用考虑．)
			/// </summary>
			public new APbilHead GetEntity()
			{
				return (APbilHead)base.GetEntity();
			}
			public static bool operator ==(EntityKey obja, EntityKey objb)
			{
				if (object.ReferenceEquals(obja, null))
				{
					if (object.ReferenceEquals(objb, null))
						return true;
					return false;
				}
				return obja.Equals(objb);
			}
			public static bool operator !=(EntityKey obja, EntityKey objb)
			{
				return !(obja == objb);
			}
			public override int GetHashCode()
			{
				return base.GetHashCode();
			}
			public override bool Equals(object obj)
			{
				return base.Equals(obj);
			}
		}
		protected override UFSoft.UBF.Business.BusinessEntity.EntityKey CreateEntityKey()
		{
			return new EntityKey(this.ID);
		}
		/// <summary>
		/// Strong Class EntityKey Property
		/// </summary>
		public new EntityKey Key
		{
			get
			{
				return base.Key as EntityKey;
			}
		}
		#endregion

		#region Finder
		/// <summary>
		/// Strong Class EntityFinder
		/// </summary>
		public new partial class EntityFinder : UFSoft.UBF.Business.BusinessEntity.EntityFinder<APbilHead> 
		{
		    public EntityFinder():base(CurrentClassKey)
			{
			}
			public new EntityList FindAll(string opath, params UFSoft.UBF.PL.OqlParam[] oqlParameters)
			{
				return new EntityList(base.FindAll(opath, oqlParameters));                
			}
			public new EntityList FindAll(UFSoft.UBF.PL.ObjectQueryOptions options, string opath, params UFSoft.UBF.PL.OqlParam[] oqlParameters)
			{
				return new EntityList(base.FindAll(options,opath, oqlParameters));                
			}









						
		}

		//private static EntityFinder _finder  ;

		/// <summary>
		/// Finder
		/// </summary>
		public static EntityFinder Finder {
			get {
				//if (_finder == null)
				//	_finder =  new EntityFinder() ;
				return new EntityFinder() ;
			}
		}
		#endregion
			
		#region List

		/// <summary>
		/// EntityList
		/// </summary>
		public partial class EntityList :UFSoft.UBF.Business.Entity.EntityList<APbilHead>{
		    #region constructor 
		    /// <summary>
		    /// EntityList 无参的构造方法,用于其它特殊情况
		    /// </summary>
		    public EntityList()
		    {
		    }

		    /// <summary>
		    /// EntityList Constructor With Collection .主要用于查询返回实体集时使用.
		    /// </summary>
		    public EntityList(IList list) : base(list)
		    { 
		    }
		    
		    /// <summary>
		    ///  EntityList Constructor , used by  peresidence
		    /// </summary>
		    /// <param name="childAttrName">this EntityList's child Attribute Name</param>
		    /// <param name="parentEntity">this EntityList's Parent Entity </param>
		    /// <param name="parentAttrName">Parent Entity's Attribute Name with this EntityList's </param>
		    /// <param name="list">list </param>
		    public EntityList(string childAttrName,UFSoft.UBF.Business.BusinessEntity parentEntity, string parentAttrName, IList list)
			    :base(childAttrName,parentEntity,parentAttrName,list) 
		    { 
			
		    }

		    #endregion 
		    //用于一对多关联.	
		    internal IList InnerList
		    {
		    	//get { return this.innerList; }
		    	set {
		    		if (value != null)
		    		    this.innerList = value; 
		    	}
		    }
		    protected override bool IsMainEntity
		    {
			    get { return true ;}
		    }
		}
		#endregion
		
		#region Typeed OriginalData
		/// <summary>
		/// 当前实体对象的旧数据对象(为上次更新后的数据)
		/// </summary>
		public new EntityOriginal OriginalData
		{
			get {
				return (EntityOriginal)base.OriginalData;
			}
            protected set
            {
				base.OriginalData = value ;
            }
		}
		protected override UFSoft.UBF.Business.BusinessEntity.EntityOriginal CreateOriginalData()
		{
			return new EntityOriginal(this);
		}
		
		public new partial class EntityOriginal: UFSoft.UBF.Business.Entity.EntityOriginal
		{
		    //private APbilHead ContainerEntity ;
		    public  new APbilHead ContainerEntity 
		    {
				get { return  (APbilHead)base.ContainerEntity ;}
				set { base.ContainerEntity = value ;}
		    }
		    
		    public EntityOriginal(APbilHead container)
		    {
				if (container == null )
					throw new ArgumentNullException("container") ;
				ContainerEntity = container ;
				base.innerData = container.OldValues ;
				InitInnerData();
		    }
	




			#region member					
			
			/// <summary>
			///  OrginalData属性。只可读。
			/// ID (该属性不可为空,且无默认值)
			/// 应付单表头.Key.ID
			/// </summary>
			/// <value></value>
			public  System.Int64 ID
			{
				get
				{
					System.Int64 value  = (System.Int64)base.GetValue("ID");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 创建时间 (该属性可为空,且无默认值)
			/// 应付单表头.Sys.创建时间
			/// </summary>
			/// <value></value>
			public  System.DateTime CreatedOn
			{
				get
				{
					object obj = base.GetValue("CreatedOn");
					if (obj == null)
						return System.DateTime.MinValue;
					else
					       return (System.DateTime)obj;
				}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 创建人 (该属性可为空,且无默认值)
			/// 应付单表头.Sys.创建人
			/// </summary>
			/// <value></value>
			public  System.String CreatedBy
			{
				get
				{
					System.String value  = (System.String)base.GetValue("CreatedBy");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 修改时间 (该属性可为空,且无默认值)
			/// 应付单表头.Sys.修改时间
			/// </summary>
			/// <value></value>
			public  System.DateTime ModifiedOn
			{
				get
				{
					object obj = base.GetValue("ModifiedOn");
					if (obj == null)
						return System.DateTime.MinValue;
					else
					       return (System.DateTime)obj;
				}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 修改人 (该属性可为空,且无默认值)
			/// 应付单表头.Sys.修改人
			/// </summary>
			/// <value></value>
			public  System.String ModifiedBy
			{
				get
				{
					System.String value  = (System.String)base.GetValue("ModifiedBy");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 事务版本 (该属性可为空,但有默认值)
			/// 应付单表头.Sys.事务版本
			/// </summary>
			/// <value></value>
			public  System.Int64 SysVersion
			{
				get
				{
					System.Int64 value  = (System.Int64)base.GetValue("SysVersion");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 组织 (该属性可为空,且无默认值)
			/// 应付单表头.Misc.组织
			/// </summary>
			/// <value></value>
			public  System.String Org
			{
				get
				{
					System.String value  = (System.String)base.GetValue("Org");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 应付单单号 (该属性可为空,且无默认值)
			/// 应付单表头.Misc.应付单单号
			/// </summary>
			/// <value></value>
			public  System.String DocNo
			{
				get
				{
					System.String value  = (System.String)base.GetValue("DocNo");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 立账依据 (该属性可为空,且无默认值)
			/// 应付单表头.Misc.立账依据
			/// </summary>
			/// <value></value>
			public  System.String AccrueBy
			{
				get
				{
					System.String value  = (System.String)base.GetValue("AccrueBy");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 来源单号 (该属性可为空,且无默认值)
			/// 应付单表头.Misc.来源单号
			/// </summary>
			/// <value></value>
			public  System.String SrcDocNo
			{
				get
				{
					System.String value  = (System.String)base.GetValue("SrcDocNo");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 核算币种 (该属性可为空,且无默认值)
			/// 应付单表头.Misc.核算币种
			/// </summary>
			/// <value></value>
			public  System.String AC
			{
				get
				{
					System.String value  = (System.String)base.GetValue("AC");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 采购订单类型 (该属性可为空,且无默认值)
			/// 应付单表头.Misc.采购订单类型
			/// </summary>
			/// <value></value>
			public  System.String DocType
			{
				get
				{
					System.String value  = (System.String)base.GetValue("DocType");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 发票号 (该属性可为空,且无默认值)
			/// 应付单表头.Misc.发票号
			/// </summary>
			/// <value></value>
			public  System.String InvoiceNum
			{
				get
				{
					System.String value  = (System.String)base.GetValue("InvoiceNum");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 发票日期 (该属性可为空,且无默认值)
			/// 应付单表头.Misc.发票日期
			/// </summary>
			/// <value></value>
			public  System.String InvoiceDate
			{
				get
				{
					System.String value  = (System.String)base.GetValue("InvoiceDate");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 付款供应商 (该属性可为空,且无默认值)
			/// 应付单表头.Misc.付款供应商
			/// </summary>
			/// <value></value>
			public  System.String PaySupp
			{
				get
				{
					System.String value  = (System.String)base.GetValue("PaySupp");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 立账供应商 (该属性可为空,且无默认值)
			/// 应付单表头.Misc.立账供应商
			/// </summary>
			/// <value></value>
			public  System.String SupplierCode
			{
				get
				{
					System.String value  = (System.String)base.GetValue("SupplierCode");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 业务日期 (该属性可为空,且无默认值)
			/// 应付单表头.Misc.业务日期
			/// </summary>
			/// <value></value>
			public  System.String BusinessDate
			{
				get
				{
					System.String value  = (System.String)base.GetValue("BusinessDate");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 立账日期 (该属性可为空,且无默认值)
			/// 应付单表头.Misc.立账日期
			/// </summary>
			/// <value></value>
			public  System.String AccrueDate
			{
				get
				{
					System.String value  = (System.String)base.GetValue("AccrueDate");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 对方单据号 (该属性可为空,且无默认值)
			/// 应付单表头.Misc.对方单据号
			/// </summary>
			/// <value></value>
			public  System.String SrcSystemType
			{
				get
				{
					System.String value  = (System.String)base.GetValue("SrcSystemType");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 是否推送成功 (该属性可为空,但有默认值)
			/// 应付单表头.Misc.是否推送成功
			/// </summary>
			/// <value></value>
			public  System.Boolean IsSuccess
			{
				get
				{
					System.Boolean value  = (System.Boolean)base.GetValue("IsSuccess");
					return value;
						}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 生单状态 (该属性可为空,但有默认值)
			/// 应付单表头.Misc.生单状态
			/// </summary>
			/// <value></value>
			public  UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APBilOrderStatusEnum OrderStatus
			{
				get
				{

					UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APBilOrderStatusEnum value  = UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APBilOrderStatusEnum.GetFromValue(base.GetValue("OrderStatus"));
					return value;
				}
			}
		



				
			/// <summary>
			///  OrginalData属性。只可读。
			/// 错误信息 (该属性可为空,且无默认值)
			/// 应付单表头.Misc.错误信息
			/// </summary>
			/// <value></value>
			public  System.String ErroMsg
			{
				get
				{
					System.String value  = (System.String)base.GetValue("ErroMsg");
					return value;
						}
			}
		



		

			#endregion

			#region List member						
		
			
			private List<UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLine> m_APbilLine  ;
			/// <summary>
			/// 应付单表行 (该属性可为空,且无默认值)
			/// 应付单表头.Misc.应付单表行
			/// </summary>
			/// <value></value>
			public  List<UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLine> APbilLine
			{
				get
				{
					if (m_APbilLine == null)
						m_APbilLine = new List<UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLine>();
					m_APbilLine.Clear();	
					foreach (UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLine child in ContainerEntity.APbilLine)
					{
						if (child.SysState != UFSoft.UBF.PL.Engine.ObjectState.Inserted)
							m_APbilLine.Add(child);
					}
					foreach (UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLine child in ContainerEntity.APbilLine.DelLists)
					{
						m_APbilLine.Add(child);
					}
					return m_APbilLine;
				}
			}
			#endregion

			#region Be List member						
			#endregion



		    
		}
		#endregion 







		#region member					
		
			/// <summary>
		/// ID (该属性不可为空,且无默认值)
		/// 应付单表头.Key.ID
		/// </summary>
		/// <value></value>
	 
		public new System.Int64 ID
		{
			get
			{
				System.Int64 value  = (System.Int64)base.GetValue("ID");
				return value;
				}
				set
			{
				
								base.SetValue("ID", value);
						 
			}
		}
	



		
			/// <summary>
		/// 创建时间 (该属性可为空,且无默认值)
		/// 应付单表头.Sys.创建时间
		/// </summary>
		/// <value></value>
			public  System.DateTime CreatedOn
		{
			get
			{
				System.DateTime value  = (System.DateTime)base.GetValue("CreatedOn");
				return value;
				}
				set
			{
				
								base.SetValue("CreatedOn", value);
						 
			}
		}
	



		
			/// <summary>
		/// 创建人 (该属性可为空,且无默认值)
		/// 应付单表头.Sys.创建人
		/// </summary>
		/// <value></value>
			public  System.String CreatedBy
		{
			get
			{
				System.String value  = (System.String)base.GetValue("CreatedBy");
				return value;
				}
				set
			{
				
								base.SetValue("CreatedBy", value);
						 
			}
		}
	



		
			/// <summary>
		/// 修改时间 (该属性可为空,且无默认值)
		/// 应付单表头.Sys.修改时间
		/// </summary>
		/// <value></value>
			public  System.DateTime ModifiedOn
		{
			get
			{
				System.DateTime value  = (System.DateTime)base.GetValue("ModifiedOn");
				return value;
				}
				set
			{
				
								base.SetValue("ModifiedOn", value);
						 
			}
		}
	



		
			/// <summary>
		/// 修改人 (该属性可为空,且无默认值)
		/// 应付单表头.Sys.修改人
		/// </summary>
		/// <value></value>
			public  System.String ModifiedBy
		{
			get
			{
				System.String value  = (System.String)base.GetValue("ModifiedBy");
				return value;
				}
				set
			{
				
								base.SetValue("ModifiedBy", value);
						 
			}
		}
	



		
			/// <summary>
		/// 事务版本 (该属性可为空,但有默认值)
		/// 应付单表头.Sys.事务版本
		/// </summary>
		/// <value></value>
			public  System.Int64 SysVersion
		{
			get
			{
				System.Int64 value  = (System.Int64)base.GetValue("SysVersion");
				return value;
				}
				set
			{
				
								base.SetValue("SysVersion", value);
						 
			}
		}
	



		
			/// <summary>
		/// 组织 (该属性可为空,且无默认值)
		/// 应付单表头.Misc.组织
		/// </summary>
		/// <value></value>
			public  System.String Org
		{
			get
			{
				System.String value  = (System.String)base.GetValue("Org");
				return value;
				}
				set
			{
				
								base.SetValue("Org", value);
						 
			}
		}
	



		
			/// <summary>
		/// 应付单单号 (该属性可为空,且无默认值)
		/// 应付单表头.Misc.应付单单号
		/// </summary>
		/// <value></value>
			public  System.String DocNo
		{
			get
			{
				System.String value  = (System.String)base.GetValue("DocNo");
				return value;
				}
				set
			{
				
								base.SetValue("DocNo", value);
						 
			}
		}
	



		
			/// <summary>
		/// 立账依据 (该属性可为空,且无默认值)
		/// 应付单表头.Misc.立账依据
		/// </summary>
		/// <value></value>
			public  System.String AccrueBy
		{
			get
			{
				System.String value  = (System.String)base.GetValue("AccrueBy");
				return value;
				}
				set
			{
				
								base.SetValue("AccrueBy", value);
						 
			}
		}
	



		
			/// <summary>
		/// 来源单号 (该属性可为空,且无默认值)
		/// 应付单表头.Misc.来源单号
		/// </summary>
		/// <value></value>
			public  System.String SrcDocNo
		{
			get
			{
				System.String value  = (System.String)base.GetValue("SrcDocNo");
				return value;
				}
				set
			{
				
								base.SetValue("SrcDocNo", value);
						 
			}
		}
	



		
			/// <summary>
		/// 核算币种 (该属性可为空,且无默认值)
		/// 应付单表头.Misc.核算币种
		/// </summary>
		/// <value></value>
			public  System.String AC
		{
			get
			{
				System.String value  = (System.String)base.GetValue("AC");
				return value;
				}
				set
			{
				
								base.SetValue("AC", value);
						 
			}
		}
	



		
			/// <summary>
		/// 采购订单类型 (该属性可为空,且无默认值)
		/// 应付单表头.Misc.采购订单类型
		/// </summary>
		/// <value></value>
			public  System.String DocType
		{
			get
			{
				System.String value  = (System.String)base.GetValue("DocType");
				return value;
				}
				set
			{
				
								base.SetValue("DocType", value);
						 
			}
		}
	



		
			/// <summary>
		/// 发票号 (该属性可为空,且无默认值)
		/// 应付单表头.Misc.发票号
		/// </summary>
		/// <value></value>
			public  System.String InvoiceNum
		{
			get
			{
				System.String value  = (System.String)base.GetValue("InvoiceNum");
				return value;
				}
				set
			{
				
								base.SetValue("InvoiceNum", value);
						 
			}
		}
	



		
			/// <summary>
		/// 发票日期 (该属性可为空,且无默认值)
		/// 应付单表头.Misc.发票日期
		/// </summary>
		/// <value></value>
			public  System.String InvoiceDate
		{
			get
			{
				System.String value  = (System.String)base.GetValue("InvoiceDate");
				return value;
				}
				set
			{
				
								base.SetValue("InvoiceDate", value);
						 
			}
		}
	



		
			/// <summary>
		/// 付款供应商 (该属性可为空,且无默认值)
		/// 应付单表头.Misc.付款供应商
		/// </summary>
		/// <value></value>
			public  System.String PaySupp
		{
			get
			{
				System.String value  = (System.String)base.GetValue("PaySupp");
				return value;
				}
				set
			{
				
								base.SetValue("PaySupp", value);
						 
			}
		}
	



		
			/// <summary>
		/// 立账供应商 (该属性可为空,且无默认值)
		/// 应付单表头.Misc.立账供应商
		/// </summary>
		/// <value></value>
			public  System.String SupplierCode
		{
			get
			{
				System.String value  = (System.String)base.GetValue("SupplierCode");
				return value;
				}
				set
			{
				
								base.SetValue("SupplierCode", value);
						 
			}
		}
	



		
			/// <summary>
		/// 业务日期 (该属性可为空,且无默认值)
		/// 应付单表头.Misc.业务日期
		/// </summary>
		/// <value></value>
			public  System.String BusinessDate
		{
			get
			{
				System.String value  = (System.String)base.GetValue("BusinessDate");
				return value;
				}
				set
			{
				
								base.SetValue("BusinessDate", value);
						 
			}
		}
	



		
			/// <summary>
		/// 立账日期 (该属性可为空,且无默认值)
		/// 应付单表头.Misc.立账日期
		/// </summary>
		/// <value></value>
			public  System.String AccrueDate
		{
			get
			{
				System.String value  = (System.String)base.GetValue("AccrueDate");
				return value;
				}
				set
			{
				
								base.SetValue("AccrueDate", value);
						 
			}
		}
	



		
			/// <summary>
		/// 对方单据号 (该属性可为空,且无默认值)
		/// 应付单表头.Misc.对方单据号
		/// </summary>
		/// <value></value>
			public  System.String SrcSystemType
		{
			get
			{
				System.String value  = (System.String)base.GetValue("SrcSystemType");
				return value;
				}
				set
			{
				
								base.SetValue("SrcSystemType", value);
						 
			}
		}
	



		
			/// <summary>
		/// 是否推送成功 (该属性可为空,但有默认值)
		/// 应付单表头.Misc.是否推送成功
		/// </summary>
		/// <value></value>
			public  System.Boolean IsSuccess
		{
			get
			{
				System.Boolean value  = (System.Boolean)base.GetValue("IsSuccess");
				return value;
				}
				set
			{
				
								base.SetValue("IsSuccess", value);
						 
			}
		}
	



		
			/// <summary>
		/// 生单状态 (该属性可为空,但有默认值)
		/// 应付单表头.Misc.生单状态
		/// </summary>
		/// <value></value>
			public  UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APBilOrderStatusEnum OrderStatus
		{
			get
			{

				UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APBilOrderStatusEnum value  = UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APBilOrderStatusEnum.GetFromValue(base.GetValue("OrderStatus"));
				return value;
			}
				set
			{
				
				if (value == null)
					base.SetValue("OrderStatus",UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APBilOrderStatusEnum.Empty.Value);
				else
					base.SetValue("OrderStatus",value.Value);
					 
			}
		}
	



		
			/// <summary>
		/// 错误信息 (该属性可为空,且无默认值)
		/// 应付单表头.Misc.错误信息
		/// </summary>
		/// <value></value>
			public  System.String ErroMsg
		{
			get
			{
				System.String value  = (System.String)base.GetValue("ErroMsg");
				return value;
				}
				set
			{
				
								base.SetValue("ErroMsg", value);
						 
			}
		}
	



	

		#endregion

		#region List member						
	
		
		private UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLine.EntityList m_APbilLine  ;
		/// <summary>
		/// 应付单表行 (该属性可为空,且无默认值)
		/// 应付单表头.Misc.应付单表行
		/// </summary>
		/// <value></value>
		public  UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLine.EntityList APbilLine
		{
			get
			{
				if (m_APbilLine == null)
					m_APbilLine = new UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLine.EntityList("APbilHead",this,"APbilLine",(IList)this.GetRelation("APbilLine"));
				else
					m_APbilLine.InnerList = (IList)this.GetRelation("APbilLine");
				return m_APbilLine;
			}
		}
		#endregion

		#region Be List member						
		#endregion
		
		#region ModelResource 其余去除，保留EntityName
		/// <summary>
		/// Entity的显示名称资源-请使用EntityRes.GetResource(EntityRes.BE_FullName)的方式取 Entity的显示名称资源.
		/// </summary>
		[Obsolete("")]
		public  string Res_EntityName {	get {return Res_EntityNameS ;}	}
		/// <summary>
		/// Entity的显示名称资源-请使用EntityRes.GetResource(EntityRes.BE_FullName)的方式取 Entity的显示名称资源.
		/// </summary>
		[Obsolete("")]
		public  static string Res_EntityNameS {	get {return EntityRes.GetResource("UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilHead")  ;}	}
		#endregion 		

		#region ModelResource,这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource()内部类的方式取资源
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("ID")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_ID　{ get { return EntityRes.GetResource("ID");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("CreatedOn")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_CreatedOn　{ get { return EntityRes.GetResource("CreatedOn");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("CreatedBy")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_CreatedBy　{ get { return EntityRes.GetResource("CreatedBy");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("ModifiedOn")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_ModifiedOn　{ get { return EntityRes.GetResource("ModifiedOn");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("ModifiedBy")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_ModifiedBy　{ get { return EntityRes.GetResource("ModifiedBy");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("SysVersion")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_SysVersion　{ get { return EntityRes.GetResource("SysVersion");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("Org")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_Org　{ get { return EntityRes.GetResource("Org");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("DocNo")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_DocNo　{ get { return EntityRes.GetResource("DocNo");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("AccrueBy")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_AccrueBy　{ get { return EntityRes.GetResource("AccrueBy");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("SrcDocNo")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_SrcDocNo　{ get { return EntityRes.GetResource("SrcDocNo");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("AC")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_AC　{ get { return EntityRes.GetResource("AC");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("DocType")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_DocType　{ get { return EntityRes.GetResource("DocType");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("InvoiceNum")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_InvoiceNum　{ get { return EntityRes.GetResource("InvoiceNum");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("InvoiceDate")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_InvoiceDate　{ get { return EntityRes.GetResource("InvoiceDate");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("PaySupp")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_PaySupp　{ get { return EntityRes.GetResource("PaySupp");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("SupplierCode")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_SupplierCode　{ get { return EntityRes.GetResource("SupplierCode");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("BusinessDate")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_BusinessDate　{ get { return EntityRes.GetResource("BusinessDate");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("AccrueDate")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_AccrueDate　{ get { return EntityRes.GetResource("AccrueDate");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("SrcSystemType")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_SrcSystemType　{ get { return EntityRes.GetResource("SrcSystemType");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("APbilLine")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_APbilLine　{ get { return EntityRes.GetResource("APbilLine");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("IsSuccess")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_IsSuccess　{ get { return EntityRes.GetResource("IsSuccess");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("OrderStatus")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_OrderStatus　{ get { return EntityRes.GetResource("OrderStatus");　}　}
		/// <summary>
		/// 这种已经被取消，请使用这块代码的人自己调整程序，改为引用EntityRes.GetResource("ErroMsg")的方式取资源
		/// </summary>
		[Obsolete("")]
		public string Res_ErroMsg　{ get { return EntityRes.GetResource("ErroMsg");　}　}
		#endregion 



		#region EntityResource 实体的属性名称及相应显示名称资源访问方法
		public class EntityRes
		{
			/// <summary>
			/// EntityName的名称
			/// </summary>
			public static string BE_Name { get { return "APbilHead";　}　}
			
			/// <summary>
			/// Entity　的全名. 
			/// </summary>
			public static string BE_FullName { get { return "UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilHead";　}　}
		
			/// <summary>
			/// 属性: ID 的名称
			/// </summary>
			public static string ID　{ get { return "ID";　}　}
				
			/// <summary>
			/// 属性: 创建时间 的名称
			/// </summary>
			public static string CreatedOn　{ get { return "CreatedOn";　}　}
				
			/// <summary>
			/// 属性: 创建人 的名称
			/// </summary>
			public static string CreatedBy　{ get { return "CreatedBy";　}　}
				
			/// <summary>
			/// 属性: 修改时间 的名称
			/// </summary>
			public static string ModifiedOn　{ get { return "ModifiedOn";　}　}
				
			/// <summary>
			/// 属性: 修改人 的名称
			/// </summary>
			public static string ModifiedBy　{ get { return "ModifiedBy";　}　}
				
			/// <summary>
			/// 属性: 事务版本 的名称
			/// </summary>
			public static string SysVersion　{ get { return "SysVersion";　}　}
				
			/// <summary>
			/// 属性: 组织 的名称
			/// </summary>
			public static string Org　{ get { return "Org";　}　}
				
			/// <summary>
			/// 属性: 应付单单号 的名称
			/// </summary>
			public static string DocNo　{ get { return "DocNo";　}　}
				
			/// <summary>
			/// 属性: 立账依据 的名称
			/// </summary>
			public static string AccrueBy　{ get { return "AccrueBy";　}　}
				
			/// <summary>
			/// 属性: 来源单号 的名称
			/// </summary>
			public static string SrcDocNo　{ get { return "SrcDocNo";　}　}
				
			/// <summary>
			/// 属性: 核算币种 的名称
			/// </summary>
			public static string AC　{ get { return "AC";　}　}
				
			/// <summary>
			/// 属性: 采购订单类型 的名称
			/// </summary>
			public static string DocType　{ get { return "DocType";　}　}
				
			/// <summary>
			/// 属性: 发票号 的名称
			/// </summary>
			public static string InvoiceNum　{ get { return "InvoiceNum";　}　}
				
			/// <summary>
			/// 属性: 发票日期 的名称
			/// </summary>
			public static string InvoiceDate　{ get { return "InvoiceDate";　}　}
				
			/// <summary>
			/// 属性: 付款供应商 的名称
			/// </summary>
			public static string PaySupp　{ get { return "PaySupp";　}　}
				
			/// <summary>
			/// 属性: 立账供应商 的名称
			/// </summary>
			public static string SupplierCode　{ get { return "SupplierCode";　}　}
				
			/// <summary>
			/// 属性: 业务日期 的名称
			/// </summary>
			public static string BusinessDate　{ get { return "BusinessDate";　}　}
				
			/// <summary>
			/// 属性: 立账日期 的名称
			/// </summary>
			public static string AccrueDate　{ get { return "AccrueDate";　}　}
				
			/// <summary>
			/// 属性: 对方单据号 的名称
			/// </summary>
			public static string SrcSystemType　{ get { return "SrcSystemType";　}　}
				
			/// <summary>
			/// 属性: 应付单表行 的名称
			/// </summary>
			public static string APbilLine　{ get { return "APbilLine";　}　}
				
			/// <summary>
			/// 属性: 是否推送成功 的名称
			/// </summary>
			public static string IsSuccess　{ get { return "IsSuccess";　}　}
				
			/// <summary>
			/// 属性: 生单状态 的名称
			/// </summary>
			public static string OrderStatus　{ get { return "OrderStatus";　}　}
				
			/// <summary>
			/// 属性: 错误信息 的名称
			/// </summary>
			public static string ErroMsg　{ get { return "ErroMsg";　}　}
		
			/// <summary>
			/// 获取显示名称资源方法
			/// </summary>
			public static string GetResource(String attrName){
				if (attrName == BE_Name || attrName== BE_FullName)
					return UFSoft.UBF.Business.Tool.ExtendHelpAPI.GetEntityResource(BE_FullName);
																																														
				return UFSoft.UBF.Business.Tool.ExtendHelpAPI.GetAttrResource(BE_FullName, attrName);
			}

		}
		#endregion 


		#region EntityObjectBuilder 持久化性能优化
        private Dictionary<string, string> multiLangAttrs = null;
        private Dictionary<string, string> exdMultiLangAttrs = null;
        private string col_ID_Name = string.Empty;

        public override  Dictionary<string, string> MultiLangAttrs
        {
			get
			{
				return multiLangAttrs;
			}
        }
        public override  Dictionary<string, string> ExdMultiLangAttrs
        {
			get
			{
				return exdMultiLangAttrs;
			}
        }
        public override string Col_ID_Name
        {
			get
			{
				return col_ID_Name;
			}
        }  
        public override void IniData()
        {
			this.multiLangAttrs = new Dictionary<string, string>();
			this.exdMultiLangAttrs = new Dictionary<string, string>();
	
			this.col_ID_Name ="ID";
			this.exdMultiLangAttrs.Add("ID","ID");
			this.exdMultiLangAttrs.Add("CreatedOn","CreatedOn");
			this.exdMultiLangAttrs.Add("CreatedBy","CreatedBy");
			this.exdMultiLangAttrs.Add("ModifiedOn","ModifiedOn");
			this.exdMultiLangAttrs.Add("ModifiedBy","ModifiedBy");
			this.exdMultiLangAttrs.Add("SysVersion","SysVersion");
			this.exdMultiLangAttrs.Add("Org","Org");
			this.exdMultiLangAttrs.Add("DocNo","DocNo");
			this.exdMultiLangAttrs.Add("AccrueBy","AccrueBy");
			this.exdMultiLangAttrs.Add("SrcDocNo","SrcDocNo");
			this.exdMultiLangAttrs.Add("AC","AC");
			this.exdMultiLangAttrs.Add("DocType","DocType");
			this.exdMultiLangAttrs.Add("InvoiceNum","InvoiceNum");
			this.exdMultiLangAttrs.Add("InvoiceDate","InvoiceDate");
			this.exdMultiLangAttrs.Add("PaySupp","PaySupp");
			this.exdMultiLangAttrs.Add("SupplierCode","SupplierCode");
			this.exdMultiLangAttrs.Add("BusinessDate","BusinessDate");
			this.exdMultiLangAttrs.Add("AccrueDate","AccrueDate");
			this.exdMultiLangAttrs.Add("SrcSystemType","SrcSystemType");
			this.exdMultiLangAttrs.Add("IsSuccess","IsSuccess");
			this.exdMultiLangAttrs.Add("OrderStatus","OrderStatus");
			this.exdMultiLangAttrs.Add("ErroMsg","ErroMsg");
        }
	#endregion 




		
		
		#region override SetTypeValue method(Use By UICommonCRUD OR Weakly Type Operation)
		public override void SetTypeValue(object propName, object value)
		{
			
			string propstr = propName.ToString();
			switch(propstr)
			{
			
																																																																		

				default:
					//调用基类的实现，最终Entity基类为SetValue()
					base.SetTypeValue(propName,value);
					return;
			}
		}
		#endregion


	


		#region EntityData exchange
		
		#region  DeSerializeKey -ForEntityPorpertyType
		//反序化Key到Data的ID中 --由FromEntityData自动调用一次。实际可以分离,由跨组织服务去调用.
		private void DeSerializeKey(APbilHeadData data)
		{
		
			

			

			

			

			

			

			

			

			

			

			

			

			

			

			

			

			

			

			

			

			
	
			//Entity中没有EntityKey集合，不用处理。
		}
		
		#endregion 	
        public override void FromEntityData(UFSoft.UBF.Business.DataTransObjectBase dto)
        {
			APbilHeadData data = dto as APbilHeadData ;
			if (data == null)
				return ;
            this.FromEntityData(data) ;
        }

        public override UFSoft.UBF.Business.DataTransObjectBase ToEntityDataBase()
        {
            return this.ToEntityData();
        }
		/// <summary>
		/// Copy Entity From EntityData
		/// </summary>
		public void FromEntityData(APbilHeadData data)
		{
			this.FromEntityData(data,new Hashtable());
		}
		//used by ubf..
		public void FromEntityData(APbilHeadData data,IDictionary dict)
		{
			if (data == null)
				return;
			bool m_isNeedPersistable = this.NeedPersistable ;
			this.NeedPersistable = false ;
			
			//this.innerData.ChangeEventEnabled = false;
			//this.innerRelation.RelationEventEnabled = false;
				
			if (dict == null ) dict = new Hashtable() ;
			dict[data] = this;
			this.SysState = data.SysState ;
			DeSerializeKey(data);
			#region 组件外属性
		
			//ID与系统字段不处理 --Sysversion需要处理。

		
			//ID与系统字段不处理 --Sysversion需要处理。

		
			//ID与系统字段不处理 --Sysversion需要处理。

		
			//ID与系统字段不处理 --Sysversion需要处理。

		
			//ID与系统字段不处理 --Sysversion需要处理。

								this.SetTypeValue("SysVersion",data.SysVersion);
		
								this.SetTypeValue("Org",data.Org);
		
								this.SetTypeValue("DocNo",data.DocNo);
		
								this.SetTypeValue("AccrueBy",data.AccrueBy);
		
								this.SetTypeValue("SrcDocNo",data.SrcDocNo);
		
								this.SetTypeValue("AC",data.AC);
		
								this.SetTypeValue("DocType",data.DocType);
		
								this.SetTypeValue("InvoiceNum",data.InvoiceNum);
		
								this.SetTypeValue("InvoiceDate",data.InvoiceDate);
		
								this.SetTypeValue("PaySupp",data.PaySupp);
		
								this.SetTypeValue("SupplierCode",data.SupplierCode);
		
								this.SetTypeValue("BusinessDate",data.BusinessDate);
		
								this.SetTypeValue("AccrueDate",data.AccrueDate);
		
								this.SetTypeValue("SrcSystemType",data.SrcSystemType);
		
								this.SetTypeValue("IsSuccess",data.IsSuccess);
		
								this.SetTypeValue("ErroMsg",data.ErroMsg);
		
			#endregion 

			#region 组件内属性
	
					if (data.APbilLine != null)
			{	
				foreach(UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLineData obj in data.APbilLine )
				{
					UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLine child = dict[obj] as UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLine;
					if (child == null)
					{
						if (obj.ID>0)
						{
							if (obj.SysState != UFSoft.UBF.PL.Engine.ObjectState.Inserted)
								child = (UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLine)(new UFSoft.UBF.Business.BusinessEntity.EntityKey(obj.ID,obj.SysEntityType).GetEntity());
							if (child==null) child = (UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLine)UFSoft.UBF.Business.Entity.CreateTransientObjWithKey(obj.SysEntityType,this,obj.ID,true) ;
						}
						else
						{
							 child = (UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLine)UFSoft.UBF.Business.Entity.CreateTransientObjWithKey(obj.SysEntityType,this,null,true) ;
						}
						
						child.FromEntityData(obj,dict);
					}
					if (child.SysState == UFSoft.UBF.PL.Engine.ObjectState.Deleted)
					{
						this.APbilLine.Remove(child);
						this.APbilLine.DelLists.Add(child);
					}
					else
						this.APbilLine.Add(child);
				}
			}
	     

					this.SetTypeValue("OrderStatus",data.OrderStatus);
	     

			#endregion 
			this.NeedPersistable = m_isNeedPersistable ;
			dict[data] = this;
		}

		/// <summary>
		/// Create EntityData From Entity
		/// </summary>
		public APbilHeadData ToEntityData()
		{
			return ToEntityData(null,null);
		}
		/// <summary>
		/// Create EntityData From Entity - used by ubf 
		/// </summary>
		public APbilHeadData ToEntityData(APbilHeadData data, IDictionary dict){
			if (data == null)
				data = new APbilHeadData();
			
			if (dict == null ) dict = new Hashtable() ;
			//就直接用ID,如果不同实体会出现相同ID，则到时候要改进。? ID一定要有。
			dict["UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilHead"+this.ID.ToString()] = data;
		
			data.SysState = this.SysState ;
			#region 组件外属性 -BusinessEntity,"简单值对象",简单类型,多语言.不可能存在一对多.没有集合可能.
	    
			{
				object obj =this.GetValue("ID");
				if (obj != null)
					data.ID=(System.Int64)obj;
			}
	     
	    
			{
				object obj =this.GetValue("CreatedOn");
				if (obj != null)
					data.CreatedOn=(System.DateTime)obj;
			}
	     
	    
			{
				object obj =this.GetValue("CreatedBy");
				if (obj != null)
					data.CreatedBy=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("ModifiedOn");
				if (obj != null)
					data.ModifiedOn=(System.DateTime)obj;
			}
	     
	    
			{
				object obj =this.GetValue("ModifiedBy");
				if (obj != null)
					data.ModifiedBy=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("SysVersion");
				if (obj != null)
					data.SysVersion=(System.Int64)obj;
			}
	     
	    
			{
				object obj =this.GetValue("Org");
				if (obj != null)
					data.Org=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("DocNo");
				if (obj != null)
					data.DocNo=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("AccrueBy");
				if (obj != null)
					data.AccrueBy=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("SrcDocNo");
				if (obj != null)
					data.SrcDocNo=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("AC");
				if (obj != null)
					data.AC=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("DocType");
				if (obj != null)
					data.DocType=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("InvoiceNum");
				if (obj != null)
					data.InvoiceNum=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("InvoiceDate");
				if (obj != null)
					data.InvoiceDate=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("PaySupp");
				if (obj != null)
					data.PaySupp=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("SupplierCode");
				if (obj != null)
					data.SupplierCode=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("BusinessDate");
				if (obj != null)
					data.BusinessDate=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("AccrueDate");
				if (obj != null)
					data.AccrueDate=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("SrcSystemType");
				if (obj != null)
					data.SrcSystemType=(System.String)obj;
			}
	     
	    
			{
				object obj =this.GetValue("IsSuccess");
				if (obj != null)
					data.IsSuccess=(System.Boolean)obj;
			}
	     
	    
			{
				object obj =this.GetValue("ErroMsg");
				if (obj != null)
					data.ErroMsg=(System.String)obj;
			}
	     
			#endregion 

			#region 组件内属性 -Entity,"复杂值对象",枚举,实体集合.
	
			if (this.APbilLine != null)
			{	
				List<UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLineData> listAPbilLine = new List<UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLineData>();
				//必然要访问集合中实体。没办法直接去取实体里面的ID。
				foreach(UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLine obj in this.APbilLine ){
					if (obj == null)
						continue;
					UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLineData old = dict["UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLine"+obj.ID.ToString()] as UFIDA.U9.Cust.HWProject.CreateAPBillHead.APBil.APbilLineData;
					listAPbilLine.Add((old != null) ? old : obj.ToEntityData(null, dict));
				}
				data.APbilLine = listAPbilLine;
			}	
			{
				object obj =this.GetValue("OrderStatus");
				if (obj != null)
					data.OrderStatus=System.Int32.Parse(obj.ToString());
			}
	

			#endregion 
			return data ;
		}

		#endregion
	



	
        #region EntityValidator 
	//实体检验： 含自身检验器检验，内嵌属性类型的检验以及属性类型上的校验器的检验。
        private bool SelfEntityValidator()
        {
        























			//调用实体自身校验器代码.
            return true; 
        }
		//校验属性是否为空的检验。主要是关联对象的效验
		public override void SelfNullableVlidator()
		{
			base.SelfNullableVlidator();
		
			
		}
			    
	#endregion 
	
	
		#region 应用版型代码区
		#endregion 


	}	
}